\hypertarget{classmdp__communicator}{
\section{mdp\_\-communicator Class Reference}
\label{classmdp__communicator}\index{mdp\_\-communicator@{mdp\_\-communicator}}
}


DO NOT INSTANTIATE use object mdp instead.  


{\ttfamily \#include $<$mdp\_\-communicator.h$>$}Inheritance diagram for mdp\_\-communicator::\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2cm]{classmdp__communicator}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classmdp__communicator_a9c38d613d17973364b3121d8e8b03301}{mdp\_\-communicator} ()
\begin{DoxyCompactList}\small\item\em time spent in communications \item\end{DoxyCompactList}\item 
{\footnotesize template$<$class T $>$ }\\void \hyperlink{classmdp__communicator_a2508725493731958b8f1f29509055d4f}{put} (T \&obj, int destination)
\item 
{\footnotesize template$<$class T $>$ }\\void \hyperlink{classmdp__communicator_ae684429614dd4d06cead7fb9ea241ff0}{put} (T \&obj, int destination, \hyperlink{mdp__communicator_8h_ad8cbf5bc85a849902c39cd29d3f9a8f1}{mdp\_\-request} \&r)
\item 
{\footnotesize template$<$class T $>$ }\\void \hyperlink{classmdp__communicator_aeb5d6d81591246daa1014e53025a6960}{get} (T \&obj, int source)
\item 
{\footnotesize template$<$class T $>$ }\\void \hyperlink{classmdp__communicator_a14a43410b3c704b9f01f698f8e77349e}{put} (T $\ast$objptr, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length, int destination)
\item 
{\footnotesize template$<$class T $>$ }\\void \hyperlink{classmdp__communicator_a44cbcb7d57c5e01d6526e749b9640d68}{put} (T $\ast$objptr, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length, int destination, \hyperlink{mdp__communicator_8h_ad8cbf5bc85a849902c39cd29d3f9a8f1}{mdp\_\-request} \&r)
\item 
{\footnotesize template$<$class T $>$ }\\void \hyperlink{classmdp__communicator_acfdb1f6ffcbbd80840edec86726b4877}{get} (T $\ast$objptr, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length, int source)
\item 
void \hyperlink{classmdp__communicator_a59576e470c0eb7c0b5faa177cc90c54b}{add} (float \&obj1, float \&obj2)
\item 
void \hyperlink{classmdp__communicator_aba7a8da3cb9ef8f8fe782864fdfb4e48}{add} (float $\ast$obj1, float $\ast$obj2, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length)
\item 
void \hyperlink{classmdp__communicator_a6386050a1fa9b536ab8eae4bc922fbad}{add} (double \&obj1, double \&obj2)
\item 
void \hyperlink{classmdp__communicator_a03f093e5354811e65cd862b6400b51de}{add} (double $\ast$obj1, double $\ast$obj2, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length)
\item 
void \hyperlink{classmdp__communicator_a3d61eabaa51bd8492555478025fda1c6}{add} (\hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} \&obj1)
\item 
void \hyperlink{classmdp__communicator_a0cc36aa2f7f3cdcdfbf179af0a8e355d}{add} (float \&obj1)
\item 
void \hyperlink{classmdp__communicator_a9eb1537c0b4252cd9e553bd888630faf}{add} (double \&obj1)
\item 
void \hyperlink{classmdp__communicator_aedb0bdc142ac49ff99bfa185d8f8da09}{add} (\hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} $\ast$obj1, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length)
\item 
void \hyperlink{classmdp__communicator_a931be4e0b188065e33a16877a63bfe01}{add} (float $\ast$obj1, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length)
\item 
void \hyperlink{classmdp__communicator_ac78cceeab56a8e83a1921e1e930ce7d1}{add} (double $\ast$obj1, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length)
\item 
void \hyperlink{classmdp__communicator_a94f4656c5dd9befe04abe0cf5bf83de0}{add} (\hyperlink{classmdp__complex}{mdp\_\-complex} \&obj1)
\item 
void \hyperlink{classmdp__communicator_aa5349744a5384adbbdd3cf7dc2a5b95a}{add} (\hyperlink{classmdp__complex}{mdp\_\-complex} $\ast$obj1, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length)
\item 
void \hyperlink{classmdp__communicator_a5e533ae9ef363e9e39dfc9f788aeab19}{add} (\hyperlink{classmdp__matrix}{mdp\_\-matrix} \&a)
\item 
void \hyperlink{classmdp__communicator_a03e473c3c953f458504fb21872a2a244}{add} (\hyperlink{classmdp__matrix}{mdp\_\-matrix} $\ast$a, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length)
\item 
{\footnotesize template$<$class T $>$ }\\void \hyperlink{classmdp__communicator_ab3a9834d788e57d08c705453088a44f5}{add} (vector$<$ T $>$ \&a)
\item 
{\footnotesize template$<$class T $>$ }\\void \hyperlink{classmdp__communicator_a33af6d05c5f44bc69b5af721ed26c70e}{broadcast} (T \&obj, int p)
\item 
{\footnotesize template$<$class T $>$ }\\void \hyperlink{classmdp__communicator_ac735496a3b58e01cc8a7b5b76591f5c2}{broadcast} (T $\ast$obj, \hyperlink{mdp__global__vars_8h_aaa1ad9d0dcd2124aa5af0120d9954174}{mdp\_\-int} length, int p)
\item 
void \hyperlink{classmdp__communicator_ae63ed716fd7a459031dc2fc76da7c258}{wait} (\hyperlink{mdp__communicator_8h_ad8cbf5bc85a849902c39cd29d3f9a8f1}{mdp\_\-request} \&r)
\item 
void \hyperlink{classmdp__communicator_aca879bd68c152a2831d37455c7bffcc9}{wait} (\hyperlink{mdp__communicator_8h_ad8cbf5bc85a849902c39cd29d3f9a8f1}{mdp\_\-request} $\ast$r, int length)
\item 
const int \hyperlink{classmdp__communicator_ab4a002ef4c8bddc3133be4a1f9c6c3f8}{me} ()
\item 
const int \hyperlink{classmdp__communicator_af257b72bd642da879cb019b8cc6ebc6d}{nproc} ()
\item 
void \hyperlink{classmdp__communicator_a46a0990eb357e60a6768c706a2aaf272}{barrier} ()
\item 
int \hyperlink{classmdp__communicator_a927db59c7ab066becc693d3b944d7dfa}{tag} (int i, int j)
\item 
void \hyperlink{classmdp__communicator_a46086387c07ac505f7658718b52c073e}{reset\_\-time} ()
\item 
double \hyperlink{classmdp__communicator_a7e725836b00c3485cd02b3ad001cf6dd}{time} ()
\begin{DoxyCompactList}\small\item\em returns the time in seconds since call to \hyperlink{classmdp__communicator_af2c43869a689b8f1d020d4c4995b0cee}{mdp\_\-communicator::open\_\-wormholes} \item\end{DoxyCompactList}\item 
void \hyperlink{classmdp__communicator_af2c43869a689b8f1d020d4c4995b0cee}{open\_\-wormholes} (int argc, char $\ast$$\ast$argv)
\item 
void \hyperlink{classmdp__communicator_a33ee55b0c67b1f63fd3a100e36fcc35e}{print\_\-stats} ()
\begin{DoxyCompactList}\small\item\em prints statistics about parallel processes \item\end{DoxyCompactList}\item 
void \hyperlink{classmdp__communicator_ad9941f7db0a5a447e37e8372b15f83f9}{close\_\-wormholes} ()
\begin{DoxyCompactList}\small\item\em closes parallel communications \item\end{DoxyCompactList}\item 
void \hyperlink{classmdp__communicator_aa601b7788f242a7f71b955a6bdf7e002}{abort} ()
\begin{DoxyCompactList}\small\item\em forces the process to exit(-\/1) \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Attributes}
\begin{DoxyCompactItemize}
\item 
double \hyperlink{classmdp__communicator_a0292893d19938e48bac585bdff3d7831}{comm\_\-time}
\end{DoxyCompactItemize}


\subsection{Detailed Description}
DO NOT INSTANTIATE use object mdp instead. Example: \begin{DoxyVerb}
/// int main(int argc, char**argv) {
///    mdp.open_wormholes(argc,argv);
///    // your code here
///    mdp << 3.14 << endl;  // only process 0 prints
///    mdp.close_wormholes();
///    return 0;
/// }
/// \end{DoxyVerb}
 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classmdp__communicator_a9c38d613d17973364b3121d8e8b03301}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!mdp\_\-communicator@{mdp\_\-communicator}}
\index{mdp\_\-communicator@{mdp\_\-communicator}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{mdp\_\-communicator}]{\setlength{\rightskip}{0pt plus 5cm}mdp\_\-communicator::mdp\_\-communicator ()\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a9c38d613d17973364b3121d8e8b03301}


time spent in communications 

\subsection{Member Function Documentation}
\hypertarget{classmdp__communicator_aa601b7788f242a7f71b955a6bdf7e002}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!abort@{abort}}
\index{abort@{abort}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{abort}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::abort ()\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_aa601b7788f242a7f71b955a6bdf7e002}


forces the process to exit(-\/1) 

Reimplemented from \hyperlink{classmdp__log_a0e85794c9c7fdaf944eb70d1f2c0ecc5}{mdp\_\-log}.\hypertarget{classmdp__communicator_ab3a9834d788e57d08c705453088a44f5}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void mdp\_\-communicator::add (vector$<$ T $>$ \& {\em a})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_ab3a9834d788e57d08c705453088a44f5}
\hypertarget{classmdp__communicator_a03e473c3c953f458504fb21872a2a244}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add ({\bf mdp\_\-matrix} $\ast$ {\em a}, \/  {\bf mdp\_\-int} {\em length})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a03e473c3c953f458504fb21872a2a244}
\hypertarget{classmdp__communicator_a5e533ae9ef363e9e39dfc9f788aeab19}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add ({\bf mdp\_\-matrix} \& {\em a})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a5e533ae9ef363e9e39dfc9f788aeab19}
\hypertarget{classmdp__communicator_aa5349744a5384adbbdd3cf7dc2a5b95a}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add ({\bf mdp\_\-complex} $\ast$ {\em obj1}, \/  {\bf mdp\_\-int} {\em length})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_aa5349744a5384adbbdd3cf7dc2a5b95a}
\hypertarget{classmdp__communicator_a94f4656c5dd9befe04abe0cf5bf83de0}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add ({\bf mdp\_\-complex} \& {\em obj1})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a94f4656c5dd9befe04abe0cf5bf83de0}
\hypertarget{classmdp__communicator_ac78cceeab56a8e83a1921e1e930ce7d1}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add (double $\ast$ {\em obj1}, \/  {\bf mdp\_\-int} {\em length})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_ac78cceeab56a8e83a1921e1e930ce7d1}
\hypertarget{classmdp__communicator_a931be4e0b188065e33a16877a63bfe01}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add (float $\ast$ {\em obj1}, \/  {\bf mdp\_\-int} {\em length})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a931be4e0b188065e33a16877a63bfe01}
\hypertarget{classmdp__communicator_aedb0bdc142ac49ff99bfa185d8f8da09}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add ({\bf mdp\_\-int} $\ast$ {\em obj1}, \/  {\bf mdp\_\-int} {\em length})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_aedb0bdc142ac49ff99bfa185d8f8da09}
\hypertarget{classmdp__communicator_a9eb1537c0b4252cd9e553bd888630faf}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add (double \& {\em obj1})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a9eb1537c0b4252cd9e553bd888630faf}
\hypertarget{classmdp__communicator_a0cc36aa2f7f3cdcdfbf179af0a8e355d}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add (float \& {\em obj1})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a0cc36aa2f7f3cdcdfbf179af0a8e355d}
\hypertarget{classmdp__communicator_a3d61eabaa51bd8492555478025fda1c6}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add ({\bf mdp\_\-int} \& {\em obj1})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a3d61eabaa51bd8492555478025fda1c6}
\hypertarget{classmdp__communicator_a03f093e5354811e65cd862b6400b51de}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add (double $\ast$ {\em obj1}, \/  double $\ast$ {\em obj2}, \/  {\bf mdp\_\-int} {\em length})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a03f093e5354811e65cd862b6400b51de}
\hypertarget{classmdp__communicator_a6386050a1fa9b536ab8eae4bc922fbad}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add (double \& {\em obj1}, \/  double \& {\em obj2})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a6386050a1fa9b536ab8eae4bc922fbad}
\hypertarget{classmdp__communicator_aba7a8da3cb9ef8f8fe782864fdfb4e48}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add (float $\ast$ {\em obj1}, \/  float $\ast$ {\em obj2}, \/  {\bf mdp\_\-int} {\em length})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_aba7a8da3cb9ef8f8fe782864fdfb4e48}
\hypertarget{classmdp__communicator_a59576e470c0eb7c0b5faa177cc90c54b}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!add@{add}}
\index{add@{add}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{add}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::add (float \& {\em obj1}, \/  float \& {\em obj2})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a59576e470c0eb7c0b5faa177cc90c54b}
\hypertarget{classmdp__communicator_a46a0990eb357e60a6768c706a2aaf272}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!barrier@{barrier}}
\index{barrier@{barrier}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{barrier}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::barrier ()\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a46a0990eb357e60a6768c706a2aaf272}
\hypertarget{classmdp__communicator_ac735496a3b58e01cc8a7b5b76591f5c2}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!broadcast@{broadcast}}
\index{broadcast@{broadcast}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{broadcast}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void mdp\_\-communicator::broadcast (T $\ast$ {\em obj}, \/  {\bf mdp\_\-int} {\em length}, \/  int {\em p})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_ac735496a3b58e01cc8a7b5b76591f5c2}
\hypertarget{classmdp__communicator_a33af6d05c5f44bc69b5af721ed26c70e}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!broadcast@{broadcast}}
\index{broadcast@{broadcast}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{broadcast}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void mdp\_\-communicator::broadcast (T \& {\em obj}, \/  int {\em p})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a33af6d05c5f44bc69b5af721ed26c70e}
\hypertarget{classmdp__communicator_ad9941f7db0a5a447e37e8372b15f83f9}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!close\_\-wormholes@{close\_\-wormholes}}
\index{close\_\-wormholes@{close\_\-wormholes}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{close\_\-wormholes}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::close\_\-wormholes ()\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_ad9941f7db0a5a447e37e8372b15f83f9}


closes parallel communications \hypertarget{classmdp__communicator_acfdb1f6ffcbbd80840edec86726b4877}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!get@{get}}
\index{get@{get}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void mdp\_\-communicator::get (T $\ast$ {\em objptr}, \/  {\bf mdp\_\-int} {\em length}, \/  int {\em source})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_acfdb1f6ffcbbd80840edec86726b4877}
\hypertarget{classmdp__communicator_aeb5d6d81591246daa1014e53025a6960}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!get@{get}}
\index{get@{get}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{get}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void mdp\_\-communicator::get (T \& {\em obj}, \/  int {\em source})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_aeb5d6d81591246daa1014e53025a6960}
\hypertarget{classmdp__communicator_ab4a002ef4c8bddc3133be4a1f9c6c3f8}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!me@{me}}
\index{me@{me}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{me}]{\setlength{\rightskip}{0pt plus 5cm}const int mdp\_\-communicator::me ()\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_ab4a002ef4c8bddc3133be4a1f9c6c3f8}
\hypertarget{classmdp__communicator_af257b72bd642da879cb019b8cc6ebc6d}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!nproc@{nproc}}
\index{nproc@{nproc}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{nproc}]{\setlength{\rightskip}{0pt plus 5cm}const int mdp\_\-communicator::nproc ()\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_af257b72bd642da879cb019b8cc6ebc6d}
\hypertarget{classmdp__communicator_af2c43869a689b8f1d020d4c4995b0cee}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!open\_\-wormholes@{open\_\-wormholes}}
\index{open\_\-wormholes@{open\_\-wormholes}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{open\_\-wormholes}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::open\_\-wormholes (int {\em argc}, \/  char $\ast$$\ast$ {\em argv})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_af2c43869a689b8f1d020d4c4995b0cee}
starts communications parses command line argument for MPI or PSIM parameters \hypertarget{classmdp__communicator_a33ee55b0c67b1f63fd3a100e36fcc35e}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!print\_\-stats@{print\_\-stats}}
\index{print\_\-stats@{print\_\-stats}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{print\_\-stats}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::print\_\-stats ()\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a33ee55b0c67b1f63fd3a100e36fcc35e}


prints statistics about parallel processes \hypertarget{classmdp__communicator_a44cbcb7d57c5e01d6526e749b9640d68}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!put@{put}}
\index{put@{put}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{put}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void mdp\_\-communicator::put (T $\ast$ {\em objptr}, \/  {\bf mdp\_\-int} {\em length}, \/  int {\em destination}, \/  {\bf mdp\_\-request} \& {\em r})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a44cbcb7d57c5e01d6526e749b9640d68}
\hypertarget{classmdp__communicator_a14a43410b3c704b9f01f698f8e77349e}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!put@{put}}
\index{put@{put}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{put}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void mdp\_\-communicator::put (T $\ast$ {\em objptr}, \/  {\bf mdp\_\-int} {\em length}, \/  int {\em destination})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a14a43410b3c704b9f01f698f8e77349e}
\hypertarget{classmdp__communicator_ae684429614dd4d06cead7fb9ea241ff0}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!put@{put}}
\index{put@{put}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{put}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void mdp\_\-communicator::put (T \& {\em obj}, \/  int {\em destination}, \/  {\bf mdp\_\-request} \& {\em r})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_ae684429614dd4d06cead7fb9ea241ff0}
\hypertarget{classmdp__communicator_a2508725493731958b8f1f29509055d4f}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!put@{put}}
\index{put@{put}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{put}]{\setlength{\rightskip}{0pt plus 5cm}template$<$class T $>$ void mdp\_\-communicator::put (T \& {\em obj}, \/  int {\em destination})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a2508725493731958b8f1f29509055d4f}
\hypertarget{classmdp__communicator_a46086387c07ac505f7658718b52c073e}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!reset\_\-time@{reset\_\-time}}
\index{reset\_\-time@{reset\_\-time}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{reset\_\-time}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::reset\_\-time ()\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a46086387c07ac505f7658718b52c073e}
\hypertarget{classmdp__communicator_a927db59c7ab066becc693d3b944d7dfa}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!tag@{tag}}
\index{tag@{tag}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{tag}]{\setlength{\rightskip}{0pt plus 5cm}int mdp\_\-communicator::tag (int {\em i}, \/  int {\em j})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a927db59c7ab066becc693d3b944d7dfa}
\hypertarget{classmdp__communicator_a7e725836b00c3485cd02b3ad001cf6dd}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!time@{time}}
\index{time@{time}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{time}]{\setlength{\rightskip}{0pt plus 5cm}double mdp\_\-communicator::time ()\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_a7e725836b00c3485cd02b3ad001cf6dd}


returns the time in seconds since call to \hyperlink{classmdp__communicator_af2c43869a689b8f1d020d4c4995b0cee}{mdp\_\-communicator::open\_\-wormholes} \hypertarget{classmdp__communicator_aca879bd68c152a2831d37455c7bffcc9}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!wait@{wait}}
\index{wait@{wait}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{wait}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::wait ({\bf mdp\_\-request} $\ast$ {\em r}, \/  int {\em length})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_aca879bd68c152a2831d37455c7bffcc9}
\hypertarget{classmdp__communicator_ae63ed716fd7a459031dc2fc76da7c258}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!wait@{wait}}
\index{wait@{wait}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{wait}]{\setlength{\rightskip}{0pt plus 5cm}void mdp\_\-communicator::wait ({\bf mdp\_\-request} \& {\em r})\hspace{0.3cm}{\ttfamily  \mbox{[}inline\mbox{]}}}}
\label{classmdp__communicator_ae63ed716fd7a459031dc2fc76da7c258}


\subsection{Member Data Documentation}
\hypertarget{classmdp__communicator_a0292893d19938e48bac585bdff3d7831}{
\index{mdp\_\-communicator@{mdp\_\-communicator}!comm\_\-time@{comm\_\-time}}
\index{comm\_\-time@{comm\_\-time}!mdp_communicator@{mdp\_\-communicator}}
\subsubsection[{comm\_\-time}]{\setlength{\rightskip}{0pt plus 5cm}double {\bf mdp\_\-communicator::comm\_\-time}}}
\label{classmdp__communicator_a0292893d19938e48bac585bdff3d7831}


The documentation for this class was generated from the following file:\begin{DoxyCompactItemize}
\item 
/Users/mdipierro/fermiqcd/development/Libraries/\hyperlink{mdp__communicator_8h}{mdp\_\-communicator.h}\end{DoxyCompactItemize}
